<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="gmail_v1.html">Gmail API</a> . <a href="gmail_v1.users.html">users</a> . <a href="gmail_v1.users.drafts.html">drafts</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#create">create(userId, body=None, media_body=None, media_mime_type=None, x__xgafv=None)</a></code></p>
<p class="firstline">Creates a new draft with the `DRAFT` label.</p>
<p class="toc_element">
  <code><a href="#delete">delete(userId, id, x__xgafv=None)</a></code></p>
<p class="firstline">Immediately and permanently deletes the specified draft. Does not simply trash it.</p>
<p class="toc_element">
  <code><a href="#get">get(userId, id, format=None, x__xgafv=None)</a></code></p>
<p class="firstline">Gets the specified draft.</p>
<p class="toc_element">
  <code><a href="#list">list(userId, includeSpamTrash=None, maxResults=None, pageToken=None, q=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists the drafts in the user's mailbox.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next()</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#send">send(userId, body=None, media_body=None, media_mime_type=None, x__xgafv=None)</a></code></p>
<p class="firstline">Sends the specified, existing draft to the recipients in the `To`, `Cc`, and `Bcc` headers.</p>
<p class="toc_element">
  <code><a href="#update">update(userId, id, body=None, media_body=None, media_mime_type=None, x__xgafv=None)</a></code></p>
<p class="firstline">Replaces a draft's content.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="create">create(userId, body=None, media_body=None, media_mime_type=None, x__xgafv=None)</code>
  <pre>Creates a new draft with the `DRAFT` label.

Args:
  userId: string, The user&#x27;s email address. The special value `me` can be used to indicate the authenticated user. (required)
  body: object, The request body.
    The object takes the form of:

{ # A draft email in the user&#x27;s mailbox.
  &quot;id&quot;: &quot;A String&quot;, # The immutable ID of the draft.
  &quot;message&quot;: { # An email message. # The message content of the draft.
    &quot;historyId&quot;: &quot;A String&quot;, # The ID of the last history record that modified this message.
    &quot;id&quot;: &quot;A String&quot;, # The immutable ID of the message.
    &quot;internalDate&quot;: &quot;A String&quot;, # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
    &quot;labelIds&quot;: [ # List of IDs of labels applied to this message.
      &quot;A String&quot;,
    ],
    &quot;payload&quot;: { # A single MIME message part. # The parsed email structure in the message parts.
      &quot;body&quot;: { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
        &quot;attachmentId&quot;: &quot;A String&quot;, # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
        &quot;data&quot;: &quot;A String&quot;, # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
        &quot;size&quot;: 42, # Number of bytes for the message part data (encoding notwithstanding).
      },
      &quot;filename&quot;: &quot;A String&quot;, # The filename of the attachment. Only present if this message part represents an attachment.
      &quot;headers&quot;: [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
        {
          &quot;name&quot;: &quot;A String&quot;, # The name of the header before the `:` separator. For example, `To`.
          &quot;value&quot;: &quot;A String&quot;, # The value of the header after the `:` separator. For example, `someuser@example.com`.
        },
      ],
      &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the message part.
      &quot;partId&quot;: &quot;A String&quot;, # The immutable ID of the message part.
      &quot;parts&quot;: [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
        # Object with schema name: MessagePart
      ],
    },
    &quot;raw&quot;: &quot;A String&quot;, # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
    &quot;sizeEstimate&quot;: 42, # Estimated size in bytes of the message.
    &quot;snippet&quot;: &quot;A String&quot;, # A short part of the message text.
    &quot;threadId&quot;: &quot;A String&quot;, # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
  },
}

  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
  media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A draft email in the user&#x27;s mailbox.
  &quot;id&quot;: &quot;A String&quot;, # The immutable ID of the draft.
  &quot;message&quot;: { # An email message. # The message content of the draft.
    &quot;historyId&quot;: &quot;A String&quot;, # The ID of the last history record that modified this message.
    &quot;id&quot;: &quot;A String&quot;, # The immutable ID of the message.
    &quot;internalDate&quot;: &quot;A String&quot;, # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
    &quot;labelIds&quot;: [ # List of IDs of labels applied to this message.
      &quot;A String&quot;,
    ],
    &quot;payload&quot;: { # A single MIME message part. # The parsed email structure in the message parts.
      &quot;body&quot;: { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
        &quot;attachmentId&quot;: &quot;A String&quot;, # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
        &quot;data&quot;: &quot;A String&quot;, # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
        &quot;size&quot;: 42, # Number of bytes for the message part data (encoding notwithstanding).
      },
      &quot;filename&quot;: &quot;A String&quot;, # The filename of the attachment. Only present if this message part represents an attachment.
      &quot;headers&quot;: [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
        {
          &quot;name&quot;: &quot;A String&quot;, # The name of the header before the `:` separator. For example, `To`.
          &quot;value&quot;: &quot;A String&quot;, # The value of the header after the `:` separator. For example, `someuser@example.com`.
        },
      ],
      &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the message part.
      &quot;partId&quot;: &quot;A String&quot;, # The immutable ID of the message part.
      &quot;parts&quot;: [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
        # Object with schema name: MessagePart
      ],
    },
    &quot;raw&quot;: &quot;A String&quot;, # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
    &quot;sizeEstimate&quot;: 42, # Estimated size in bytes of the message.
    &quot;snippet&quot;: &quot;A String&quot;, # A short part of the message text.
    &quot;threadId&quot;: &quot;A String&quot;, # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
  },
}</pre>
</div>

<div class="method">
    <code class="details" id="delete">delete(userId, id, x__xgafv=None)</code>
  <pre>Immediately and permanently deletes the specified draft. Does not simply trash it.

Args:
  userId: string, The user&#x27;s email address. The special value `me` can be used to indicate the authenticated user. (required)
  id: string, The ID of the draft to delete. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
</pre>
</div>

<div class="method">
    <code class="details" id="get">get(userId, id, format=None, x__xgafv=None)</code>
  <pre>Gets the specified draft.

Args:
  userId: string, The user&#x27;s email address. The special value `me` can be used to indicate the authenticated user. (required)
  id: string, The ID of the draft to retrieve. (required)
  format: string, The format to return the draft in.
    Allowed values
      minimal - Returns only email message ID and labels; does not return the email headers, body, or payload.
      full - Returns the full email message data with body content parsed in the `payload` field; the `raw` field is not used. Format cannot be used when accessing the api using the gmail.metadata scope.
      raw - Returns the full email message data with body content in the `raw` field as a base64url encoded string; the `payload` field is not used. Format cannot be used when accessing the api using the gmail.metadata scope.
      metadata - Returns only email message ID, labels, and email headers.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A draft email in the user&#x27;s mailbox.
  &quot;id&quot;: &quot;A String&quot;, # The immutable ID of the draft.
  &quot;message&quot;: { # An email message. # The message content of the draft.
    &quot;historyId&quot;: &quot;A String&quot;, # The ID of the last history record that modified this message.
    &quot;id&quot;: &quot;A String&quot;, # The immutable ID of the message.
    &quot;internalDate&quot;: &quot;A String&quot;, # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
    &quot;labelIds&quot;: [ # List of IDs of labels applied to this message.
      &quot;A String&quot;,
    ],
    &quot;payload&quot;: { # A single MIME message part. # The parsed email structure in the message parts.
      &quot;body&quot;: { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
        &quot;attachmentId&quot;: &quot;A String&quot;, # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
        &quot;data&quot;: &quot;A String&quot;, # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
        &quot;size&quot;: 42, # Number of bytes for the message part data (encoding notwithstanding).
      },
      &quot;filename&quot;: &quot;A String&quot;, # The filename of the attachment. Only present if this message part represents an attachment.
      &quot;headers&quot;: [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
        {
          &quot;name&quot;: &quot;A String&quot;, # The name of the header before the `:` separator. For example, `To`.
          &quot;value&quot;: &quot;A String&quot;, # The value of the header after the `:` separator. For example, `someuser@example.com`.
        },
      ],
      &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the message part.
      &quot;partId&quot;: &quot;A String&quot;, # The immutable ID of the message part.
      &quot;parts&quot;: [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
        # Object with schema name: MessagePart
      ],
    },
    &quot;raw&quot;: &quot;A String&quot;, # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
    &quot;sizeEstimate&quot;: 42, # Estimated size in bytes of the message.
    &quot;snippet&quot;: &quot;A String&quot;, # A short part of the message text.
    &quot;threadId&quot;: &quot;A String&quot;, # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
  },
}</pre>
</div>

<div class="method">
    <code class="details" id="list">list(userId, includeSpamTrash=None, maxResults=None, pageToken=None, q=None, x__xgafv=None)</code>
  <pre>Lists the drafts in the user&#x27;s mailbox.

Args:
  userId: string, The user&#x27;s email address. The special value `me` can be used to indicate the authenticated user. (required)
  includeSpamTrash: boolean, Include drafts from `SPAM` and `TRASH` in the results.
  maxResults: integer, Maximum number of drafts to return. This field defaults to 100. The maximum allowed value for this field is 500.
  pageToken: string, Page token to retrieve a specific page of results in the list.
  q: string, Only return draft messages matching the specified query. Supports the same query format as the Gmail search box. For example, `&quot;from:someuser@example.com rfc822msgid: is:unread&quot;`.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  &quot;drafts&quot;: [ # List of drafts. Note that the `Message` property in each `Draft` resource only contains an `id` and a `threadId`. The [`messages.get`](https://developers.google.com/workspace/gmail/api/v1/reference/users/messages/get) method can fetch additional message details.
    { # A draft email in the user&#x27;s mailbox.
      &quot;id&quot;: &quot;A String&quot;, # The immutable ID of the draft.
      &quot;message&quot;: { # An email message. # The message content of the draft.
        &quot;historyId&quot;: &quot;A String&quot;, # The ID of the last history record that modified this message.
        &quot;id&quot;: &quot;A String&quot;, # The immutable ID of the message.
        &quot;internalDate&quot;: &quot;A String&quot;, # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
        &quot;labelIds&quot;: [ # List of IDs of labels applied to this message.
          &quot;A String&quot;,
        ],
        &quot;payload&quot;: { # A single MIME message part. # The parsed email structure in the message parts.
          &quot;body&quot;: { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
            &quot;attachmentId&quot;: &quot;A String&quot;, # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
            &quot;data&quot;: &quot;A String&quot;, # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
            &quot;size&quot;: 42, # Number of bytes for the message part data (encoding notwithstanding).
          },
          &quot;filename&quot;: &quot;A String&quot;, # The filename of the attachment. Only present if this message part represents an attachment.
          &quot;headers&quot;: [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
            {
              &quot;name&quot;: &quot;A String&quot;, # The name of the header before the `:` separator. For example, `To`.
              &quot;value&quot;: &quot;A String&quot;, # The value of the header after the `:` separator. For example, `someuser@example.com`.
            },
          ],
          &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the message part.
          &quot;partId&quot;: &quot;A String&quot;, # The immutable ID of the message part.
          &quot;parts&quot;: [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
            # Object with schema name: MessagePart
          ],
        },
        &quot;raw&quot;: &quot;A String&quot;, # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
        &quot;sizeEstimate&quot;: 42, # Estimated size in bytes of the message.
        &quot;snippet&quot;: &quot;A String&quot;, # A short part of the message text.
        &quot;threadId&quot;: &quot;A String&quot;, # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
      },
    },
  ],
  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results in the list.
  &quot;resultSizeEstimate&quot;: 42, # Estimated total number of results.
}</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next()</code>
  <pre>Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call &#x27;execute()&#x27; on to request the next
          page. Returns None if there are no more items in the collection.
        </pre>
</div>

<div class="method">
    <code class="details" id="send">send(userId, body=None, media_body=None, media_mime_type=None, x__xgafv=None)</code>
  <pre>Sends the specified, existing draft to the recipients in the `To`, `Cc`, and `Bcc` headers.

Args:
  userId: string, The user&#x27;s email address. The special value `me` can be used to indicate the authenticated user. (required)
  body: object, The request body.
    The object takes the form of:

{ # A draft email in the user&#x27;s mailbox.
  &quot;id&quot;: &quot;A String&quot;, # The immutable ID of the draft.
  &quot;message&quot;: { # An email message. # The message content of the draft.
    &quot;historyId&quot;: &quot;A String&quot;, # The ID of the last history record that modified this message.
    &quot;id&quot;: &quot;A String&quot;, # The immutable ID of the message.
    &quot;internalDate&quot;: &quot;A String&quot;, # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
    &quot;labelIds&quot;: [ # List of IDs of labels applied to this message.
      &quot;A String&quot;,
    ],
    &quot;payload&quot;: { # A single MIME message part. # The parsed email structure in the message parts.
      &quot;body&quot;: { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
        &quot;attachmentId&quot;: &quot;A String&quot;, # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
        &quot;data&quot;: &quot;A String&quot;, # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
        &quot;size&quot;: 42, # Number of bytes for the message part data (encoding notwithstanding).
      },
      &quot;filename&quot;: &quot;A String&quot;, # The filename of the attachment. Only present if this message part represents an attachment.
      &quot;headers&quot;: [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
        {
          &quot;name&quot;: &quot;A String&quot;, # The name of the header before the `:` separator. For example, `To`.
          &quot;value&quot;: &quot;A String&quot;, # The value of the header after the `:` separator. For example, `someuser@example.com`.
        },
      ],
      &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the message part.
      &quot;partId&quot;: &quot;A String&quot;, # The immutable ID of the message part.
      &quot;parts&quot;: [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
        # Object with schema name: MessagePart
      ],
    },
    &quot;raw&quot;: &quot;A String&quot;, # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
    &quot;sizeEstimate&quot;: 42, # Estimated size in bytes of the message.
    &quot;snippet&quot;: &quot;A String&quot;, # A short part of the message text.
    &quot;threadId&quot;: &quot;A String&quot;, # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
  },
}

  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
  media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # An email message.
  &quot;historyId&quot;: &quot;A String&quot;, # The ID of the last history record that modified this message.
  &quot;id&quot;: &quot;A String&quot;, # The immutable ID of the message.
  &quot;internalDate&quot;: &quot;A String&quot;, # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
  &quot;labelIds&quot;: [ # List of IDs of labels applied to this message.
    &quot;A String&quot;,
  ],
  &quot;payload&quot;: { # A single MIME message part. # The parsed email structure in the message parts.
    &quot;body&quot;: { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
      &quot;attachmentId&quot;: &quot;A String&quot;, # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
      &quot;data&quot;: &quot;A String&quot;, # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
      &quot;size&quot;: 42, # Number of bytes for the message part data (encoding notwithstanding).
    },
    &quot;filename&quot;: &quot;A String&quot;, # The filename of the attachment. Only present if this message part represents an attachment.
    &quot;headers&quot;: [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
      {
        &quot;name&quot;: &quot;A String&quot;, # The name of the header before the `:` separator. For example, `To`.
        &quot;value&quot;: &quot;A String&quot;, # The value of the header after the `:` separator. For example, `someuser@example.com`.
      },
    ],
    &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the message part.
    &quot;partId&quot;: &quot;A String&quot;, # The immutable ID of the message part.
    &quot;parts&quot;: [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
      # Object with schema name: MessagePart
    ],
  },
  &quot;raw&quot;: &quot;A String&quot;, # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
  &quot;sizeEstimate&quot;: 42, # Estimated size in bytes of the message.
  &quot;snippet&quot;: &quot;A String&quot;, # A short part of the message text.
  &quot;threadId&quot;: &quot;A String&quot;, # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
}</pre>
</div>

<div class="method">
    <code class="details" id="update">update(userId, id, body=None, media_body=None, media_mime_type=None, x__xgafv=None)</code>
  <pre>Replaces a draft&#x27;s content.

Args:
  userId: string, The user&#x27;s email address. The special value `me` can be used to indicate the authenticated user. (required)
  id: string, The ID of the draft to update. (required)
  body: object, The request body.
    The object takes the form of:

{ # A draft email in the user&#x27;s mailbox.
  &quot;id&quot;: &quot;A String&quot;, # The immutable ID of the draft.
  &quot;message&quot;: { # An email message. # The message content of the draft.
    &quot;historyId&quot;: &quot;A String&quot;, # The ID of the last history record that modified this message.
    &quot;id&quot;: &quot;A String&quot;, # The immutable ID of the message.
    &quot;internalDate&quot;: &quot;A String&quot;, # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
    &quot;labelIds&quot;: [ # List of IDs of labels applied to this message.
      &quot;A String&quot;,
    ],
    &quot;payload&quot;: { # A single MIME message part. # The parsed email structure in the message parts.
      &quot;body&quot;: { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
        &quot;attachmentId&quot;: &quot;A String&quot;, # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
        &quot;data&quot;: &quot;A String&quot;, # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
        &quot;size&quot;: 42, # Number of bytes for the message part data (encoding notwithstanding).
      },
      &quot;filename&quot;: &quot;A String&quot;, # The filename of the attachment. Only present if this message part represents an attachment.
      &quot;headers&quot;: [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
        {
          &quot;name&quot;: &quot;A String&quot;, # The name of the header before the `:` separator. For example, `To`.
          &quot;value&quot;: &quot;A String&quot;, # The value of the header after the `:` separator. For example, `someuser@example.com`.
        },
      ],
      &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the message part.
      &quot;partId&quot;: &quot;A String&quot;, # The immutable ID of the message part.
      &quot;parts&quot;: [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
        # Object with schema name: MessagePart
      ],
    },
    &quot;raw&quot;: &quot;A String&quot;, # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
    &quot;sizeEstimate&quot;: 42, # Estimated size in bytes of the message.
    &quot;snippet&quot;: &quot;A String&quot;, # A short part of the message text.
    &quot;threadId&quot;: &quot;A String&quot;, # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
  },
}

  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
  media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A draft email in the user&#x27;s mailbox.
  &quot;id&quot;: &quot;A String&quot;, # The immutable ID of the draft.
  &quot;message&quot;: { # An email message. # The message content of the draft.
    &quot;historyId&quot;: &quot;A String&quot;, # The ID of the last history record that modified this message.
    &quot;id&quot;: &quot;A String&quot;, # The immutable ID of the message.
    &quot;internalDate&quot;: &quot;A String&quot;, # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
    &quot;labelIds&quot;: [ # List of IDs of labels applied to this message.
      &quot;A String&quot;,
    ],
    &quot;payload&quot;: { # A single MIME message part. # The parsed email structure in the message parts.
      &quot;body&quot;: { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
        &quot;attachmentId&quot;: &quot;A String&quot;, # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
        &quot;data&quot;: &quot;A String&quot;, # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
        &quot;size&quot;: 42, # Number of bytes for the message part data (encoding notwithstanding).
      },
      &quot;filename&quot;: &quot;A String&quot;, # The filename of the attachment. Only present if this message part represents an attachment.
      &quot;headers&quot;: [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
        {
          &quot;name&quot;: &quot;A String&quot;, # The name of the header before the `:` separator. For example, `To`.
          &quot;value&quot;: &quot;A String&quot;, # The value of the header after the `:` separator. For example, `someuser@example.com`.
        },
      ],
      &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the message part.
      &quot;partId&quot;: &quot;A String&quot;, # The immutable ID of the message part.
      &quot;parts&quot;: [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
        # Object with schema name: MessagePart
      ],
    },
    &quot;raw&quot;: &quot;A String&quot;, # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
    &quot;sizeEstimate&quot;: 42, # Estimated size in bytes of the message.
    &quot;snippet&quot;: &quot;A String&quot;, # A short part of the message text.
    &quot;threadId&quot;: &quot;A String&quot;, # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
  },
}</pre>
</div>

</body></html>